thx Tom
i used step response for both mode : Move and Step
when increase gain , move mode is better but in step mode have overshoot
in low gain , dont have overshoot ,but i see delay between command and position, how i can reach to minimum delay time ?
with setting P I D or add filter ?
Group: DynoMotion |
Message: 11245 |
From: Amir |
Date: 3/19/2015 |
Subject: Re: Tuning servo & Max Following Error [1 Attachment] |
Hi Tom i solved the problem with increase "max limits output" to 2000 ,and now i dont have big error( now Max Following Error is about 500).i am happy with speed response. now i want use "Home_MM" code for home with Z channel encoder. is it possible describe little about this code routine ?
best regard Amir
|
|
Group: DynoMotion |
Message: 11247 |
From: Tom Kerekes |
Date: 3/19/2015 |
Subject: Re: Tuning servo & Max Following Error |
Hi Amir,
The Home_MM is fairly complex in that it handles many modes of Homing with multiple axes being homed simultaneously using multiple homing sequences and to be all configurable from the PC Host.
The LoadUserData is a function where specific Homing Sequences can be hard coded. See below for an example for how to specify to home one Z axis.
You might consider using the SimpleHomeIndexFunctionTest.c and SimpleHomeIndexFunction.c examples which are simpler.
Regards TK
//Use this function to manually load the persist.UserData[] void LoadUserData(void) { persist.UserData[REQUESTED_HOME_AXIS_FLAGS]=0; persist.UserData[HOME_NEGATIVE_FLAGS]=0; persist.UserData[REPEAT_HOME_FLAGS]=0; persist.UserData[INPUT_HOME_STATES]=0;
SequenceId=0; //Set Z axis to home first for safety AxisChannel = 2; CreateHomeTask( HOME_TO_LIMIT_THEN_MOVE_TO_POSITION, // home type HOME_DIR_NEGATIVE, // switch dir FALSE, // repeat home 100, // slowspeed 400, // fastspeed 32, // limitbit 1, // limitstate 0, // encoderbit 1000, // origin (amount to move inside) 2000); // sensor offset (amount to move if on sensor)
}
| |